using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using MimeCloud.AssetManagement.DataProvider.Astoria.Entities.Data;
using MimeCloud.AssetManagement.DataProvider.Astoria.Entities;
using System.Configuration;

namespace MimeCloud.AssetManagement.DataProvider.Astoria.Entities
{
    public class AssetManagerDBDataContext : DataContext
    {
        public AssetManagerDBDataContext(string connectionString)
            : base(connectionString)
        { }
        public AssetManagerDBDataContext() :
            base(ConfigurationManager.ConnectionStrings[ConfigurationManager.AppSettings["ConnectionStringName"]].ConnectionString)
        {

        }

        public Table<Asset> Assets { get { return this.GetTable<Asset>(); } }
        public Table<AssetContent> AssetContents { get { return this.GetTable<AssetContent>(); } }
        public Table<AssetMetadata> AssetMetadata { get { return this.GetTable<AssetMetadata>(); } }
        public Table<Status> Statuses { get { return this.GetTable<Status>(); } }
        public Table<Language> Languages { get { return this.GetTable<Language>(); } }
        public Table<MetaKey> MetaKeys { get { return this.GetTable<MetaKey>(); } }
        public Table<MetaValue> MetaValues { get { return this.GetTable<MetaValue>(); } }
     //   public Table<AssetContentMetadata> AssetContentMetadata { get { return this.GetTable<AssetContentMetadata>(); } }
        public Table<AssetContentType> AssetContentTypes { get { return this.GetTable<AssetContentType>(); } }
      //  public Table<TypeFunction> TypeFunctions { get { return this.GetTable<TypeFunction>(); } }
        public Table<MimeType> MimeTypes { get { return this.GetTable<MimeType>(); } }
        internal Table<AssetContent_Repository> AssetContentRepositoryLinks { get { return this.GetTable<AssetContent_Repository>(); } }
        public Table<Repository> Repositories { get { return this.GetTable<Repository>(); } }

    }
}
